<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Superpixel Benchmark: GraphSegmentationDistance Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Superpixel Benchmark
   </div>
   <div id="projectbrief">Superpixel benchmark, tools and algorithms.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classGraphSegmentationDistance-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">GraphSegmentationDistance Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Interface to be implemented by a concerete distance. The distance defines how the weights between nodes in the image graph are computed. See the paper by Felzenswalb and Huttenlocher for details. Essentially, derived classes only need to overwrite the () operator.  
 <a href="classGraphSegmentationDistance.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="graph__segmentation_8h_source.html">graph_segmentation.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for GraphSegmentationDistance:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classGraphSegmentationDistance.png" usemap="#GraphSegmentationDistance_map" alt=""/>
  <map id="GraphSegmentationDistance_map" name="GraphSegmentationDistance_map">
<area href="classGraphSegmentationEuclideanRGB.html" title="Euclidean RGB distance. " alt="GraphSegmentationEuclideanRGB" shape="rect" coords="0,56,206,80"/>
<area href="classGraphSegmentationManhattenRGB.html" title="Manhatten (i.e. L1) distance. " alt="GraphSegmentationManhattenRGB" shape="rect" coords="216,56,422,80"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a08d87c2a6ddd52281a135a3102af7491"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGraphSegmentationDistance.html#a08d87c2a6ddd52281a135a3102af7491">GraphSegmentationDistance</a> ()</td></tr>
<tr class="memdesc:a08d87c2a6ddd52281a135a3102af7491"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a08d87c2a6ddd52281a135a3102af7491">More...</a><br /></td></tr>
<tr class="separator:a08d87c2a6ddd52281a135a3102af7491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6634893a2a73f01b8f75f6362bc84065"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGraphSegmentationDistance.html#a6634893a2a73f01b8f75f6362bc84065">~GraphSegmentationDistance</a> ()</td></tr>
<tr class="memdesc:a6634893a2a73f01b8f75f6362bc84065"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a6634893a2a73f01b8f75f6362bc84065">More...</a><br /></td></tr>
<tr class="separator:a6634893a2a73f01b8f75f6362bc84065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c52505f60a3e1ab795b03be459ea97c"><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGraphSegmentationDistance.html#a8c52505f60a3e1ab795b03be459ea97c">operator()</a> (const <a class="el" href="classImageNode.html">ImageNode</a> &amp;n, const <a class="el" href="classImageNode.html">ImageNode</a> &amp;m)=0</td></tr>
<tr class="memdesc:a8c52505f60a3e1ab795b03be459ea97c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the distance given 2 nodes.  <a href="#a8c52505f60a3e1ab795b03be459ea97c">More...</a><br /></td></tr>
<tr class="separator:a8c52505f60a3e1ab795b03be459ea97c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Interface to be implemented by a concerete distance. The distance defines how the weights between nodes in the image graph are computed. See the paper by Felzenswalb and Huttenlocher for details. Essentially, derived classes only need to overwrite the () operator. </p>
<dl class="section author"><dt>Author</dt><dd>David Stutz </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a08d87c2a6ddd52281a135a3102af7491"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">GraphSegmentationDistance::GraphSegmentationDistance </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>

</div>
</div>
<a class="anchor" id="a6634893a2a73f01b8f75f6362bc84065"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual GraphSegmentationDistance::~GraphSegmentationDistance </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a8c52505f60a3e1ab795b03be459ea97c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual float GraphSegmentationDistance::operator() </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classImageNode.html">ImageNode</a> &amp;&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classImageNode.html">ImageNode</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the distance given 2 nodes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>first node </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>second node </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classGraphSegmentationEuclideanRGB.html#ad43ad4e5f970dc8da316a4184b0baac1">GraphSegmentationEuclideanRGB</a>, and <a class="el" href="classGraphSegmentationManhattenRGB.html#abaaffdb864a1c47e96f9210210e76004">GraphSegmentationManhattenRGB</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>lib_refh/lib/<a class="el" href="graph__segmentation_8h_source.html">graph_segmentation.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Apr 16 2017 16:39:17 for Superpixel Benchmark by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
